/**
 * 
 */
package ec.gob.magap.era.servicios.impl;

import java.math.BigDecimal;
import java.util.List;

import javax.ejb.Stateless;

import ec.gob.magap.era.dao.impl.CatalogoDaoImpl;
import ec.gob.magap.era.entidades.Resultado;
import ec.gob.magap.era.entities.Canton;
import ec.gob.magap.era.entities.Catalogo;
import ec.gob.magap.era.entities.Provincia;
import ec.gob.magap.era.entities.Region;
import ec.gob.magap.era.entities.Tipocatalogo;
import ec.gob.magap.era.exceptions.ServicioException;
import ec.gob.magap.era.servicios.interfaces.CatalogoService;

/** * @author Javier
 *
 */
@Stateless(name= "CatalogoServicio")
public class CatalogoServiceImpl implements CatalogoService {

	/* (non-Javadoc)
	 * @see ec.gob.magap.era.servicios.interfaces.CatalogoService#ConsultarCatalogo(int)
	 */
	@Override
	public List<Catalogo> ConsultarCatalogo(int idTipoCatalogo)
			throws ServicioException {
		
		List<Catalogo> lista = null;
		try
		{
			CatalogoDaoImpl catalogoDao = new CatalogoDaoImpl();
			lista= catalogoDao.ConsultarCatalogo(idTipoCatalogo);
		}catch(Exception ex){
		}
		return lista;
		
	}

	@Override
	public Resultado GuardarCatalogo(Catalogo catalogo, String operacion)
			throws ServicioException {
		
		Resultado resultado = new Resultado();
		try
		{
			CatalogoDaoImpl catalogoDao = new CatalogoDaoImpl();
			resultado = catalogoDao.GuardarCatalogo(catalogo, operacion);
			
		}catch(Exception ex){
			resultado.setEstado(false);
			resultado.setMensaje("Error al guardar Catálogo: " + ex.getMessage());
			
		}
		return resultado;
	}

	@Override
	public List<Tipocatalogo> ConsultarTiposCatalogo() throws ServicioException {
		List<Tipocatalogo> lista = null;
		try
		{
			CatalogoDaoImpl catalogoDao = new CatalogoDaoImpl();
			lista= catalogoDao.ConsultarTipoCatalogo();
		}catch(Exception ex){
		}
		return lista;
	}

	@Override
	public List<Region> ConsultarRegiones() throws ServicioException {
		List<Region> lista = null;
		try
		{
			CatalogoDaoImpl catalogoDao = new CatalogoDaoImpl();
			lista = catalogoDao.ConsultarRegiones();
		}catch(Exception ex){
		}
		return lista;
	}

	@Override
	public List<Provincia> ConsultarProvincias(BigDecimal idRegion)
			throws ServicioException {
		List<Provincia> lista = null;
		try
		{
			CatalogoDaoImpl catalogoDao = new CatalogoDaoImpl();
			lista = catalogoDao.ConsultarProvincias(idRegion);
			
		}catch(Exception ex){
		}
		return lista;
	}

	@Override
	public List<Canton> ConsultarCantones(BigDecimal idProvincia)
			throws ServicioException {
		List<Canton> lista = null;
		try
		{
			CatalogoDaoImpl catalogoDao = new CatalogoDaoImpl();
			lista = catalogoDao.ConsultarCantones(idProvincia);
		}catch(Exception ex){
		}
		return lista;
	}

	@Override
	public List<Canton> ConsultarCantonesTodos() throws ServicioException {
		List<Canton> lista = null;
		try
		{
			CatalogoDaoImpl catalogoDao = new CatalogoDaoImpl();
			lista = catalogoDao.ConsultarCantonesTodos();
		}catch(Exception ex){
		}
		return lista;
	}
	

}
